package es.cea.biblioteca;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class PrestadosServlet
 */
public class AdminPrestadosServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		List<Libro> listaLibros = (List<Libro>) request.getSession().getServletContext().getAttribute(AtributosConstantes.listaLibros.toString());
		List<Prestamo> listaPrestados = (List<Prestamo>) request.getSession().getServletContext().getAttribute(AtributosConstantes.listaPrestados.toString());

		response.setContentType("text/html");
        PrintWriter writer = response.getWriter();
        writer.println("<html><head><title>Biblioteca - Consulta de libros prestados</title></head><body>");        
        writer.println("<h2>Lista de libros prestados</h2>");
       
       //si recibo una id de prestamo lo elimino de la lista de libros en prestamo
       if(request.getParameter("id")!=null){
    	   //Busco el libro para cambiarle al atributo prestado a false    	   
    	   Libro lib=Utilidades.buscarLibro(request.getParameter("ref"),listaLibros);
    	   lib.prestado=false;
    	   request.getSession().getServletContext().setAttribute(AtributosConstantes.listaLibros.toString(), listaLibros);
    	   
    	   //elimino el prestamo de la lista    	   
    	   Prestamo prestamo=Utilidades.buscarPrestamo(Long.parseLong(request.getParameter("id")),listaPrestados);
    	   listaPrestados.remove(prestamo);    	   
    	   request.getSession().getServletContext().setAttribute(AtributosConstantes.listaPrestados.toString(), listaPrestados);
       }
       
        
       for (Prestamo p: listaPrestados){    
    	   writer.println(p+"<br/><a href='./adminPrestados?id="+p.id+"&ref="+p.libro.referencia+"'>Marcar como devuelto</a><br/>" +
    	   		"<hr align='left' width='300'><br/>");        
       }
       
       writer.println("<a href='./adminMenu'>Volver</a><br/></body></html>");       
       writer.close();
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}
